
package com.hlkj.pay.app.devices;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import com.hlkj.framework.common.pojo.CommonResult;
import com.hlkj.pay.vo.devices.req.MerchantQrBindReq;
import com.hlkj.pay.vo.devices.req.MerchantQrSetReq;
import com.hlkj.pay.vo.devices.req.MerchantQrUpdateReq;
import com.hlkj.pay.vo.merchant.req.UpdateStatusReq;
import com.hlkj.pay.vo.openapi.order.resp.PayOrderSubmitApiResp;
import com.hlkj.pay.vo.order.req.QrOrderParamReq;

/**
 * @author HlpayTeam
 * @date 2025/01/20 11:11
 */
public interface IMerchantQrAppService {

    /**
     * 
     * @param merchantQrSetReq
     * @return
     */
    CommonResult<Void> saveQr(MerchantQrSetReq merchantQrSetReq);

    /**
     * 
     * @param merchantQrSetReq
     * @return
     */
    CommonResult<Void> updateQr(MerchantQrUpdateReq merchantQrSetReq);

    /**
     * 
     * @param merchantQrBindReq
     * @return
     */
    CommonResult<Void> bindQr(MerchantQrBindReq merchantQrBindReq);

    /**
     * 
     * @param updateStatusReq
     * @return
     */
    CommonResult<Void> updateStatus(UpdateStatusReq updateStatusReq);

    /**
     *
     * @param qrOrderParamReq
     * @return
     */
    CommonResult<PayOrderSubmitApiResp> submitOrder(QrOrderParamReq qrOrderParamReq);
}
